package com.itlong.cloud.iot.service.server;

import com.itlong.cloud.POJO.VO.sdk.CloudControllerButtonStatusVO;
import com.itlong.cloud.iot.service.base.IotService;

/**
 * <desc>
 *      华为云业务实现接口
 * </desc>
 *
 * @createDate 2020/01/08
 */
public interface HuawServerService extends IotService {
    /**
     * <desc>
     *      发布消息
     * </desc>
     *
     * @param serviceId 华为云serviceId
     * @param commandName 华为云服务名称
     * @param deviceId  华为云iot设备id
     * @param msg 消息内容
     * @author Jiaqi.X
     * @createDate 2018/04/11
     */
    public void pubDeviceMessage(String serviceId, String commandName, String deviceId, String msg);

    /**
     * <desc>
     *      获取设备属性
     * </desc>
     *
     * @param commandName  命令名称
     * @param deviceId  华为云iot设备id
     * @param msg 消息内容
     * @author Jiaqi.X
     * @createDate 2018/04/11
     */
     void getProperties(String serviceId, String commandName, String deviceId, String msg);

    /**
     * <desc>
     *      发布消息并拿到消息结果
     * </desc>
     *
     * @param commandName  命令名称
     * @param deviceId  华为云iot设备id
     * @param msg 消息内容
     * @author Jiaqi.X
     * @createDate 2018/04/11
     */
    public String pubDeviceMessageResponse(String serviceId, String commandName, String deviceId, String msg);

    /**
     * <desc>
     *     读取按键状态
     * <desc/>
     *
     * @param deviceId
     * @return
     * @author caoshuai
     * @createDate 2020/08/03
     */
    CloudControllerButtonStatusVO getButtonStatus(String deviceId);
}
